home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.validation;
-
- import com.extensibility.util.Debug;
- import com.extensibility.util.regexpr.PatternTerm;
- import com.extensibility.xml.ContentModelTerm;
- import com.extensibility.xml.NamespaceDeclaration;
- import com.extensibility.xml.SchemaIntf;
- import java.util.Enumeration;
-
- class ContentModelPatternTerm implements PatternTerm {
- protected String namespace;
- protected ContentModelTerm modelTerm;
-
- public ContentModelPatternTerm(String var1, ContentModelTerm var2) {
- this.namespace = var1;
- this.modelTerm = var2;
- }
-
- public boolean isSeq() {
- return this.modelTerm.isSeq();
- }
-
- public boolean isChoice() {
- return this.modelTerm.isChoice();
- }
-
- public boolean isGroup() {
- return this.isChoice() || this.isSeq();
- }
-
- public Enumeration getPatternTerms() {
- return new 1(this);
- }
-
- protected String getTermQualifiedName() {
- String var1 = this.modelTerm.getTerm();
- if (var1.startsWith("#")) {
- return var1;
- } else {
- int var2 = var1.indexOf(":");
- String var3 = var2 == -1 ? null : var1.substring(0, var2);
- if (var3 == null) {
- return this.namespace != null && !this.namespace.equals("") ? String.valueOf(String.valueOf(this.namespace).concat(String.valueOf(":"))).concat(String.valueOf(var1)) : var1;
- } else {
- SchemaIntf var4 = this.modelTerm.getOwner().asDecl().getSchema();
- NamespaceDeclaration var5 = var4.getNamedNamespace(var3);
- return var5 != null && var5.getNamespace() != null ? String.valueOf(var5.getNamespace()).concat(String.valueOf(var1.substring(var1.indexOf(":")))) : var1;
- }
- }
- }
-
- public boolean matches(String var1) {
- Debug.assert(!this.isGroup());
- return var1.equals(this.getTermQualifiedName());
- }
-
- public boolean intersects(PatternTerm var1) {
- ContentModelPatternTerm var2 = (ContentModelPatternTerm)var1;
- return !this.isGroup() && !var2.isGroup() && this.matches(var2.getTermQualifiedName());
- }
-
- public int getMinOccurrence() {
- return this.modelTerm.getMinOccurrence();
- }
-
- public int getMaxOccurrence() {
- return this.modelTerm.getMaxOccurrence();
- }
-
- public String toString() {
- return this.modelTerm.getTerm();
- }
- }
-